Page({

    /**
     * 页面的初始数据
     */
    data: {
        dataList: [
            {
                id: '1',
                img: "../images/shop1.jpeg",
                content: "2021新web前端开发视频课程教程入门精通全栈实战项目零基础培训",
                pice: 30,
                num: 1,
                check: false,
            },
            {
                id: '2',
                img: "../images/shop2.jpeg",
                content: "现货 你不知道的JavaScript 上卷+中卷+下卷 3册 web前端开发书籍",
                pice: 138.90,
                num: 1,
                check: false,
            }, {
                id: '3',
                img: "../images/shop3.jpeg",
                content: "【高阶全套】web前端开发视频教程jQuery网页设计CSS3/javascript",
                pice: 199,
                num: 1,
                check: false,
            }, {
                id: '4',
                img: "../images/shop4.jpeg",
                content: "JavaScript高级程序设计(第3版)JS入门到精通书籍JavaScript权指南配套前",
                pice: 73.9,
                num: 1,
                check: false,
            }, {
                id: '5',
                img: "../images/shop5.jpeg",
                content: "计算机网络实验教程 2版二版 高等教育出版社 钱德沛 张力军 计算机网络工程技术参考书 计算机类专业网络实验课程教材图书籍",
                pice: 46.5,
                num: 1,
                check: false,
            }
        ],
        allPice: 0,
        allCheck: false,
        allNum: 0,

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },
    onChanges: function (e) {
        // console.log('点击选项卡！1', e.detail.value);
        let data = this.data.dataList.map(item => {
            item.check = e.detail.value.includes(item.id);
            // console.log('数据判断：', e.detail.value.includes(item.id));
            return item;
        });
        // console.log('数据更新：', data);
        this.setData({
            dataList: data
        })
        this.allPiceFn();
        this.allNumFn();
    },
    allPiceFn: function () {
        let allPice = this.data.dataList.reduce((touch, item) => {
            return item.check ? touch + item.pice * item.num : touch;
        }, 0)
        // console.log('总价：', allPice);
        this.setData({
            allPice: allPice
        })
    },
    allNumFn: function () {
        let allNum = this.data.dataList.reduce((touch, item) => {
            return item.check ? touch + item.num : touch;
        }, 0)
        // console.log('总价：', allPice);
        this.setData({
            allNum: allNum
        })
    },
    takeNum: function (e) {
        // console.log('点击减号！', e);
        if (this.data.dataList[e.currentTarget.dataset.step - 1].num == 1) return;
        let id = e.currentTarget.dataset.step - 1;
        // console.log('数据展示：', id, [`dataList[${id}].num`]);
        this.setData({
            [`dataList[${id}].num`]: this.data.dataList[id].num - 1
        })
        this.allPiceFn();
        this.allNumFn();
    },
    addNnm: function (e) {
        // console.log('点击加号！', e.currentTarget.dataset.step);
        let id = e.currentTarget.dataset.step - 1;
        // console.log('数据展示：', id, [`dataList[${id}].num`]);
        this.setData({
            [`dataList[${id}].num`]: this.data.dataList[id].num + 1
        })
        this.allPiceFn();
        this.allNumFn();
    },
    onAllCheck: function (e) {
        let check = !this.data.allCheck
        // console.log('点击全选！', e.detail.value);
        let data = this.data.dataList.map(item => {
            item.check = check
            return item;
        });
        // console.log('数据更新：', data);
        this.setData({
            dataList: data,
            allCheck: check,
        })
        this.allPiceFn();
        this.allNumFn();
    },
    deleteItem: function (e) {
        let id = e.currentTarget.dataset.step;
        // console.log('sdfsdf', id);
        let data = this.data.dataList.filter(item => {
            return item.id != id;
        });
        this.setData({
            dataList: data
        })
        this.allPiceFn();
        this.allNumFn();
    }
    // onItemClick: function (e) {
    //     // console.log('点击商品！', e.currentTarget.dataset.step);
    //     let id = e.currentTarget.dataset.step - 1;
    //     // console.log('数据展示：', id, [`dataList[${id}].check`]);
    //     this.setData({
    //         [`dataList[${id}].check`]: !this.data.dataList[id].check
    //     })
    //     this.allPiceFn();
    // },
})